package ren.colorful.learnJava.jdk8.stream;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

import org.junit.Test;

public class TestStream {
	
	@Test
	public void testForEach(){
		//创建数据
		List<Person> persons = new ArrayList<Person>();
		for(int i = 0;i <10;i++){
			Person p = new Person();
			p.setName("p" +i);
			p.setAge(i);
			persons.add(p);
		}
		
		System.out.println("遍历数据:");
		//遍历数据
		persons.forEach(p -> {
			System.out.println(p.toString());
		});

		//筛选加工
//		persons.stream()
//		.filter(p -> {
//			return p.getAge() > 5 ? true : false;
//		})
//		.collect(Collectors.toList())
//		.forEach(p -> {
//			p.setName("bigger than 5");
//			persons.remove(p);
//		});
//		
//		System.out.println("加工之后的数据:");
//		persons.forEach(p -> {
//			System.out.println(p.toString());
//		});
		//遍历修改
		persons.stream().filter(p -> {
			return p.getAge() > 5;
		}).collect(Collectors.toList())
		.forEach(p -> {
			persons.remove(p);
		});
		System.out.println(persons.size());
		
	}
	
}
